1. Field
The present invention relates generally to the utilization of commonly replaced system parts. The invention relates in particular to preventing unauthorized reproduction of memory devices, such as Customer Replaceable Unit Monitors (CRUM).
2. Description of Related Art
Program execution control technologies are known in the field to which the present invention belongs. The program execution control technologies are technologies to embed a routine for user authentication during the use of an application program, have the routine examine whether the user attempting execution of the application possesses a key for proper authentication, and continue the program only when the existence of the key for authentication is verified, otherwise to halt execution.
By using these technologies, execution of the application program is enabled only for proper users having the authentication key. The technologies are generally commercialized in the software marketing field, two examples being Sentine/SuparPro (trade mark) from Rainbow Technologies, Inc. and HASP (trade mark) from Aladdin Knowledge Systems, Ltd.
In the use of program execution control technologies, a user who executes software possesses an authentication key as user identification information. The authentication key is a key for encryption and is distributed to the user by a party who allows use of software, a software vender, for example. The authentication key is securely sealed in a memory, or the like, of hardware to prevent duplication, and is delivered to the user using physical means such as the postal service. The user mounts personal computer/workstation using a designated method. When the user starts up the application program and when the execution of the program reaches the user authentication routine, the program communicates with the hardware in which the authentication key of the user is embedded. Based on the results of the communication, the program identifies the authentication key, and moves the execution to the following step upon confirmation of existence of the correct authentication key. If the communication fails and the verification of the existence of the authentication key is not established, the program stops automatically, discontinuing the execution of subsequent steps.
Identification of the authentication key by the user authentication routine is executed according to the following protocol, for example the user authentication routine generates and transmits an appropriate number to the hardware in which the key is embedded, the hardware in which the key is embedded encrypts the number using the embedded authentication key and transmits it back to the authentication routine, the authentication routine determines whether or not the number transmitted back is the number expected beforehand, or, in other words, the number obtained by encrypting the number with a correct authentication key. If the number transmitted back coincides with the expected number, the execution of the program continues, otherwise the execution is halted. In this case, communication between the application program and the hardware in which the authentication key is embedded must be different for each execution even if it is between the same location in the same application with the same hardware.
Otherwise, a user who does not possess the correct authentication key may be able to execute the program by recording once the content of communication during the normal execution process, and by responding to the application program according to the recording each time the subsequent program is executed. Such improper execution of the application program by replaying the communication content is called a replay attack.
In order to prevent a replay attack, in general, a random number is generated and used for each communication as the number to be transmitted to the hardware in which the key is embedded.
Many machines have replaceable sub-assemblies. Printing machines, for example, may have a number of replaceable sub-assemblies, such as a fuser print cartridge, a toner cartridge, or an automatic document handler. These subassemblies may be arranged as a unit called a cartridge, and if intended for replacement by the customer or machine owner, may be referred to as a Customer Replaceable Unit or CRU. Examples of CRUs may include a printer cartridge, a toner cartridge, or a transfer assembly unit. It may be desirable for a CRU design to vary over the course of time due to manufacturing changes or to solve post-launch problems with either the machine, the CRU, or an interaction between the CRU and the machine. Further, design optimizations may be recognized subsequent to design launch and machine sale, for example, that a relatively simple code update might realize. However, solving these problems, or providing optimization updates, generally requires a service call.
U.S. Pat. No. 4,961,088 to Gilliland et al. discloses a monitor/warranty system for electrostatographic reproducing machines in which replaceable cartridges providing a predetermined number of images are used. Each cartridge has an EEPROM programmed with a cartridge identification number that, when matched with a cartridge identification number in the machine, enables machine operation, a cartridge replacement warning count, and a termination count at which the cartridge is disabled from further use. The EEPROM stores updated counts of the remaining number of images left on the cartridge after each print run.
U.S. Pat. No. 6,016,409 to Beard et al. discloses a fuser module comprising a fuser subsystem installable in a xerographic printing apparatus, which includes an electronically-readable memory permanently associated therewith. The control system of the printing apparatus reads out codes from the electronically-readable memory when installed to obtain parameters for operating the module, such as maximum web use, voltage and temperature requirements, and thermistor calibration parameters.
U.S. Pat. No. 5,987,134 to Shin et al. provides a device for authenticating user's access rights to resources, which comprises first memory means for storing challenging data, second memory means for storing unique identifying information of the user, third memory means for storing proof support information which is a result of executing predetermined computations to the unique identifying information of the user and unique security characteristic information of the device, response generation means for generating a response from the challenging data stored in the first memory means, the unique identifying information stored in the second memory means and the proof support information stored in the third memory means, and verification means for verifying, the legitimacy of the response by verifying that the response, the challenging data and the unique security characteristic information of the device satisfy a specific predefined relation.
U.S. Patent Publication 2003/0005246 to Peinado et al. describes a device for securely recording projected content to a portable memory and for reading the projected content therefrom. The device is adapted to read or write specially-configured portable memories that are incompatible with standard read and write devices. For example, the device may be designed to work with memories having an unusual type or size, or may manipulate the data in a nonstandard way before storing the data in the memory.
U.S. Pat. No. 6,035,368 to Habib et al. describes a method for protecting against EEPROM directed intrusion into a mobile communication device by an external interfacing master in which an incipient powering operation of the device is detected. The mobile communication device carries an EEPROM and a microprocessor that are interconnected via an electrical interface. The microprocessor detects whether the external interfacing master tries to fraudulently access the EEPROM through the electrical interface. Upon such detection, the microprocessor undertakes a protecting measure for blocking subsequent reading of the EEPROM by the external interfacing master.
All of the references indicated above are herein incorporated by reference in their entirety for their teachings.